This invention relates to methods for mapping relationships between data files (or portions of a single data file), methods of moving between data files (or within a data file), and to an apparatuses arranged for performing the methods. The invention further relates to a device including a display which displays a map of data files, particularly a device having a low resolution screen either in absolute terms or in relation to the number of data files which are to be mapped (e.g. 100s or even 1000s of files).
The files referred to throughout this document may be electronic files, but may alternatively be files stored on any other recording medium, for example an optical or holographic data storage medium. As discussed in detail below, the invention is particularly suitable, for example, for displaying relationships between data files which are part of the world wide web.
The vast amount of information stored on the world wide web is divided into data files, each of which has an xe2x80x9caddressxe2x80x9d, and is stored on a computer called a xe2x80x9cserverxe2x80x9d. One kind of file is called a xe2x80x9cpagexe2x80x9d and simply contains a set of information. The format of the information differs from one page to another, for example, some pages may contain just text, while others might for instance reference some audio or visual files to display at a certain point in the pages. Using a program called a xe2x80x9cbrowserxe2x80x9d, a user of the web is able to display the pages in a part of his or her screen called a xe2x80x9cbrowser arrayxe2x80x9d, for example one page at a time. Specifically, the user may be said to have a location within the web which corresponds to a page of the web, and to view the page which corresponds to his location.
Like the pages of a conventional book which are arranged in a numbered sequence, the pages of the world wide web have defined logical relationships to each other, but the logical relationships between the pages of the web are much more complicated than a simple numbered sequence. The purpose of these logical relationships is to connect pages which contain related information. For example, a page containing information on a first topic (say xe2x80x9cpatentsxe2x80x9d) may be logically related to one or more other pages containing information on related topics (such as xe2x80x9cpatent attorneysxe2x80x9d).
The logical relationships between pages are defined by logical links known as xe2x80x9chyperlinksxe2x80x9d. The hyperlinks are conventionally defined in a xe2x80x9chypertextxe2x80x9d programming language (or possibly a more sophisticated content presentation format such as a Flash or Lingo file), the type of language upon which the world wide web is based (the term hypertext is commonly used to include xe2x80x9chypertext mark-up languagexe2x80x9d (HTML), Dynamic HTML, Wireless Markup Language (WML), Active Server Pages, etc), and the term xe2x80x9chyperlinkxe2x80x9d is further used here to mean a link in an AWT such as one defined in JAVA, or any other languages used for layout and interaction. A single page may contain one or more xe2x80x9chyperlinksxe2x80x9d each associated with a portion of the page (e.g. a few words of that page) known as an xe2x80x9canchorxe2x80x9d. The hyperlink defines a logical relationship between the xe2x80x9canchorxe2x80x9d portion of the page and a second page of the world wide web (or possibly a particular place in that second page). A user can access that second page simply by positioning a curser in the anchor portion of the display and clicking a button, such as a button of a mouse. This automatically replaces the page he is viewing with the second page connected to it by the hyperlink. Thus, the second pages are said to be xe2x80x9cone clickxe2x80x9d from the first page, meaning that a user connected to the first page can access the second pages (i.e. display some or all of the information in the second page within his browser array) by a single clicking motion (not including clicks performed by the user on the scrollbar). The first page may contain any number of anchors, each associated with a respective portion of the first page, and each leading via a respective hyperlink to a respective second page.
Of course, a second page too may have anchors in it, each leading to a respective third page. The third pages are said to be xe2x80x9ctwo clicksxe2x80x9d from the first page, meaning that they can be accessed from the first page by two clicking motions, a first clicking motion which takes the user from the first page to the second page (i.e. changes the browser display to represent the second page, or represents that page in a second browser display), and a second clicking motion which moves the user from the second page to the third page. The hyperlinks thus provide an efficient way of navigating through the myriad of pages available on the web in search of specific information, by moving between the pages logically related by hyperlinks. Since any page may contain many anchors, there can be many second pages related to each first page, and many third pages related to each second page. In fact, the number of pages n-clicks away from a given first page rises approximately exponentially with n.
A further complexity is provided by a type of file called a xe2x80x9cframe setxe2x80x9d. Although pages of the world wide web may be unstructured, in the sense that they consist entirely of a list of stored information, a xe2x80x9cframe setxe2x80x9d does have a structure, and may be thought of as a file which partitions the browser array into a number of sections and displays another predetermined file in each of those sections, for example so that different sorts of information on a given topic are classified into different sections. Any number of anchors may be located in any of the files displayed in the sections. Supposing that a user uses a browser to access a first file which is a frame set, the browser display area is divided into a number of sections corresponding to the number of sections in the frame set. When the user clicks on an anchor portion within one of the sections, that (or a different) section of the browser display area (or possibly the whole browser area or the whole of a new browser area) is replaced by a second file (e.g. a page) connected to the anchor portion by a hyperlink. However, the rest of the display area (i.e. the other sections of the frame set) remains displayed to the user.
The world wide web is in fact a single example of a networked computer file system based on a hypertext. Other examples of a hypertext based system include other Internet systems not for some reason classified as being the world wide web (for example, because they are owned by a large company or government department and not publicly accessible), so-called xe2x80x9cintranetxe2x80x9d systems, or indeed any other system using a hypertext language (such as HTML or Dynamic HTML) to define and permit movement between files. These systems are in turn examples of what may be called a xe2x80x9chyperspacexe2x80x9d, that is a set of data files, each having an address or name, the set of files having logical relationships defined between members of the set.
For example, a conventional directory structure is an example of a hyperspace. A directory structure consists of data files of two forms: (i) data files here called xe2x80x9cbranch nodesxe2x80x9d which contain (usually only contain) logical links to other data files, and (ii) data files called xe2x80x9cleaf nodesxe2x80x9d which may contain information but do not contain links to other data files of the hyperspace. An empty directory is an example of a leaf node, as is a text file, a picture file, a video file or an audio file; and a directory which is not empty is an example of a branch node.
Such a logically related set of data files may be a pure hierarchy (tree structure). That is, one directory (the xe2x80x9croot directoryxe2x80x9d) is designated the uppermost level of the hierarchy. There is a maximum of one logical link to each directory (although the directory itself may contain any number of logical connections to other data files), and every data file (including all the directories) can be reached from the root directory by a single path, along a series of the logical connections defined above. The data files which can be reached by a single logical link from a given directory are said to be xe2x80x9cinxe2x80x9d the directory. Here, we will refer to a data file which can be reached from the top directory by following i logical links as being in the (i+1)-th level (the root directory is the first level).
In fact, a directory structure may not be a pure tree structure, because of xe2x80x9cshort-cutsxe2x80x9d for example, or because some HTML files and hyperlinks are included within the definition of the hyperspace in question. Thus a directory structure may be an example of a logical relation between files which form a tree-like structure (which approximates a tree structure), in which for example over 90% of the logical connections conform to a tree structure.
In a conventional tool for navigating a hierarchy of data files (e.g. Microsoft Windows or Microsoft Explorer), a certain data file (e.g. leaf node) is reached along a path of logical connections from the root directory, e.g. along one or more intermediate directories, by the following procedure. Starting with the root directory (or from any other point), a symbol is drawn for each data file in the root directory. These symbols are drawn displayed in a column. The user clicks on the symbol representing the intermediate directory which is on the path to the data file he wishes to reach. Then the process is repeated, with that intermediate directory in the place of the top directory. To reach a data file in the (i+1)-th level requires i clicks. The last of these clicks is on a symbol representing the data file which the user wishes to reach.
During this process a user will only see a symbol representing a particular data file if that data file happens to be in one of the intermediate directories on the path. Therefore, it is essentially impossible for the user to gain an impression of the overall shape of the directory structure, for example whether the leaf nodes are uniformly distributed in the hierarchy. In other words, this navigation tool is not suitable for visualizing a directory structure.
To address the specific problem of visualizing a hierarchical directory structure, Brian Johnson and Ben Schneiderman (xe2x80x9cTree-Maps: A Space-Filling Approach to the Visualization of Hierarchical Information Structuresxe2x80x9d, Proceedings of the Annual Conference on Visualization, San Diego, p284-291, IEEE, 1991) proposed drawing a two-dimensional diagram showing the data files of a directory. Each data file is represented by a rectangle in the diagram; the rectangles representing the data files in a certain directory are drawn inside the rectangle representing that directory (i.e. the nesting corresponds to the hierarchy), in a single row or column; in the case of leaf nodes, the rectangles are drawn with equal shapes and areas to each other.
In a directory structure of conventional size, say about 3000 files (perhaps in 20 layers), the areas representing leaf nodes become very small. Therefore, since this document is concerned only with visualising the distribution of leaf nodes, Johnson and Schneiderman recommend that the rectangles representing data files in any directory are sized so as to completely cover the rectangle representing that directory. Thus, the diagram proposed only contains areas representing leaf nodes. Thus, in the case of a typical directory structure (in which most leaf nodes are several links away from the top directory), the result is a diagram composed of a myriad of tiny rectangles (shown in FIG. 8 of the paper, in the case of a directory of 1000 files). Despite this complexity of this picture, it is possible from it quickly to ascertain statistical information about the distribution of leaf nodes in the data structure.
Since this technique is concerned with extracting statistical information about a complete directory structure, the technique provides no way of focussing on one part of a hierarchy.
Even if the technique of Johnson and Schneiderman was varied (which this paper does not suggest) by including the option of redrawing only a branch of the hierarchy (i.e. the data files which can be reached by logical links from a directory which is not the top directory), the result would be a second diagram in which all the data files of the branch of the hierarchy have different shapes from their shapes in the first diagram. Thus, the detailed correspondence between the first and second diagrams would be very hard to understand, except possibly on a statistical level.
John Lamping and Ramana Rao (xe2x80x9cThe Hyperbolic Browser: A focus and Context Technique for Visualising Large Hierarchiesxe2x80x9d, Journal of Visual Languages and Computing, 1996, 7, p33-55) propose a radically different technique for visualising a hierarchical structure, in which the data files of the directory are represented by small areas which do not overlap, and the logical links between them by lines. The small areas are laid out on a hyperbolic plane mapped onto the display area, to give a xe2x80x9cfisheyexe2x80x9d distortion. The user may select the mapping between the hyperbolic display and the display area, to make possible visualisation of branches of the hierarchy, but again there is no exact correspondence between the first and second diagrams. The angles between the branches change as the user focuses on different areas of the map.
Neither document describes use of the diagram for a purpose other than visualisation. Neither document proposes a scheme which can be readily extended to hyperspaces which are not hierarchical. Thus, neither document proposes a technique well adapted to mapping the pages of the world wide web, which is a network of data files rather than a hierarchy.
Furthermore, in both cases the diagram proposed is necessarily highly intricate, and thus requires a display device having a high resolution, and a high enough screen size to make the detail visible. The xe2x80x9ctree-mapxe2x80x9d requires that areas are drawn on scale dependent on the number of levels in the directory, and in the type of directory for which the tree-map is proposed this may mean that even the largest area is much less than a twentieth of the display area, while the smallest area may be much less than a thousandth of the display area. Similarly, the hyperbolic map requires that fine lines are drawn on a display to represent links.
The present invention seeks to provide a new and useful way of displaying interconnections of various forms between data files.
It preferably aims to provide a method for mapping logical relationships between data files which can be used in conjunction with a display device having limited resolution (e.g. a low number of pixels in each dimension in relation to the number of files to be mapped).
It further preferably seeks to provide devices which allow display of and/or navigation of the interconnections between data files.
It further preferably seeks to provide a mechanism of accessing various levels of limited data about files (e.g. titles) which allows the user to gain an impression of the significance of given file before opening the files.
In its broadest terms the present invention proposes, for a given first file (e.g. the current browser file), displaying (e.g. on a screen) an image including symbols representing second files one click away, and in or near the symbol for each second file further symbols representing third files one click from that second file. This display may be generalised beyond third files (two clicks from the first file) to include files any number of clicks (e.g. a predetermined number of clicks) from the first file. At any level, the files logically related to a given file may be represented by further symbols (e.g. smaller symbols) within, or clustering around, the symbol for that given file. The display may be used for navigation between the data files, permitting the user to open one of the data files (i.e. extract information from the data file).
Accordingly, a first aspect of the present invention is a method of mapping logical relations between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and one or more second regions, said second regions respectively representing one or more second files logically related to the first file and being spatially related to the first region, the sizes of said second regions being according to a first distance scale; and
for a predetermined value of n, (nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, and being spatially related to the i-th region representing that i-th file, the sizes of said (i+1)-th regions being according to a respective i-th distance scale smaller than the (ixe2x88x921)-th distance scale. The hyperlinks are preferably hypertext links.
The value of n may be as low as 2, but it is preferably higher (e.g. at least 3, at least 4, or even at least 10), and may be indefinitely large. n may depend upon any one or more of: (i) the resolution of the user""s screen, (ii) the computer resources available for creating the display, (iii) the number of files a certain number of clicks away from the first file, or (iv) a selection by the user.
A preferred case is that the map is drawn for a certain predetermined value of n selected by the user, and then the user has the option of increasing n by one, so that the map is re-drawn according to the first aspect of the invention with this new value of n, thereby to include files one further logical link away from the first file.
Since the value of n may be chosen to be small (independent of the number of data files) the map may be drawn even on a screen with very limited display capacity. Below, preferred features of the display are listed which further improve the potential of the mapping method, especially in the specific technical case of a display of limited technical capacity (either in absolute or relative terms).
The xe2x80x9csizexe2x80x9d of a region may for example be the extent of the region in a predetermined direction. The extent of one or more (or all) of the regions may by substantially equal in two orthogonal directions, and in this case the xe2x80x9csizexe2x80x9d may be the extent in either direction. It may also be the area of the region.
The data files may be part of any hyperspace of data files. For example, the data files and the logical relationships between them may be a (hierarchical or tree-like) directory structure; in this case the logical relationships between the data files may be the links of the directory structure. For example, they may be part of a directory structure containing at least 4, at least 6, at least 10, at least 20 or at least 30 levels. In this case the number of data files in the directory is well-defined (countable), and may be at least 30, at least 100, at least 500, at least 1000 or at least 2000.
Alternatively, the data files may be files of the world wide web. In this case the total number of data files, in the case that n is very high, and practically uncountable.
Alternatively the data files may be part of any other hyperspace of data files which is not (or not necessarily) hierarchical, for example a web which is internal to a large company or government department. For example, the data files may be data files connected by hyperlinks (preferably hypertext links), which constitute the logical relations.
The plurality of files are preferably provided at a plurality of web sites (that is, a plurality of web domains). The files may, for example, include files of the world wide web provided at different sites by spatially separated servers.
The logical relationships may be any logical relationships (e.g. those defining a tree-structure or an approximate-tree structure). They may also be logical relationships (pre-)defined by a user or automatically, e.g. based on the meanings of the files.
The logical relationships are preferably of any type or types suitable for defining a hyperspace. Thus, the logical relationships between the files may be (or at least include) hyperlinks (preferably hypertext links) and optionally also the connection(s) between frames and the file(s) they display. More preferably, the logical relationships are such that each i-th file and its one or more (i+1)-th files are such that the (i+1)-th file can be reached from the i-th file by one click. That is, they are connected to the i-th file by a single hyperlink connection.
Thus, if n were indefinitely large, the entire world wide web (all files which can be reached by any number of clicks) could in principle be represented by the display generated by the method. In practice, only pages up to, say, n=10 clicks away may be displayed (or those which generate regions having say a radius larger than 5 pixels), but this nevertheless may mean a very large number of pages.
Note that the i-th distance scale may be different for different i (e.g. it may depend upon the number of (i+1)-th files. For example, in the case that there are a large number of (i+1)-th files logically related to a given i-th file, the i-th distance scale may be small, e.g. so that there is space to represent all the (i+1)-th files.
We will now define some useful terminology: for a given data file, its xe2x80x9cparentxe2x80x9d files are all files (e.g. in a certain map) from which it can be reached by one logical relation (e.g. one clicks), while its xe2x80x9cancestorxe2x80x9d files are all files (e.g. in a certain map) from which it can be reached by any number of logical relationships. Its xe2x80x9csiblingxe2x80x9d files are files sharing at least one parent. Its xe2x80x9cchildxe2x80x9d files are those files to which it is a parent. Its xe2x80x9cdescendentxe2x80x9d files are those files to which it is an ancestor.
For any map generated according to the invention (in any of its aspects), the xe2x80x9coriginxe2x80x9d of a data map is the file from which distances in terms of clicks are measured (e.g. the xe2x80x9crootxe2x80x9d directory of a directory structure, or in some embodiments the web browser location). The xe2x80x9cbasexe2x80x9d is defined in relation to a particular map and is equivalent to the first file drawn. The xe2x80x9cfocusxe2x80x9d is the user""s current xe2x80x9clocationxe2x80x9d within the map. The xe2x80x9chighlightxe2x80x9d is the area, label, or other identifying device that is at any one time highlighted, or indicated for immediate selection, by the user.
Also, although the method does not draw regions for a number of clicks greater than n from the first file, the method may not necessarily draw regions for all files up to n clicks away from the first file. For example, in that case that there are a large number of (i+1)-th files are logically related to a given i-th file, and each (i+1)-th region is small (e.g. below a predetermined size), (i+2)-th files logically related to these (i+1)-th files may not be displayed.
Thus, this is a possible criterion for not representing certain files. Another possible criterion is that if the same file would be represented more than once (because it can be reached from the first file by more than one route) all but one of those representations may be omitted. Alternatively, regions representing its children may be omitted from all but one of its representations (that is, the criterion for omitting files is that (i) the file would otherwise be shown elsewhere and also that (ii) the parent would be represented more than once).
Note that the logical relations are preferably those which are uni-directional. That is, even if a first file is logically related to a second file, this does not imply that the second file is logically related to the first. An example of such a logical relationship is a hyperlink.
The concept of mapping data files which are linked by hyperlinks (and thus which may not be part of a hierarchical directory structure) constitutes an independent second aspect of the invention.
According to this second aspect of the invention the invention provides a method of mapping hyperlinks between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and one or more second regions, said second regions respectively representing one or more second files which are accessible from the i-th file by a hyperlink, and being spatially related to the first region, the sizes of said second regions being according to a first distance scale; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are accessible from the i-th file by a hyperlink to the (i+1)-th file, and being spatially related to the i-th region representing that i-th file, the sizes of said (i+1)-th regions being according to an i-th distance scale smaller than the (ixe2x88x921)-th distance scale. The hyperlinks are preferably hypertext links.
The term xe2x80x9cfilexe2x80x9d as used herein includes xe2x80x9cframe setxe2x80x9d within its scope. If a given file is a frame set, the region which represents the file preferably indicates this. For example, in the case that an i-th file is a frame set partitioned into j sections (here numbered k=1, . . . j), the i-th region which represents the i-th file is preferably shown partitioned into j sections (k=1, . . . , j). The (i+1)-th regions are then drawn accordingly, so that the (i+1)-th regions which represent those files which are linked to the i-th file by anchors within the k-th section of the i-th file, are within the k-th section of the i-th region.
A further alternative is that the logical relationships may not be predefined (e.g. by hyperlinks), but rather depend on the meanings of the files (e.g. a thesaurus), and even be chosen by the user. For example, if the information stored in the data files concerned companies and their employees, the user could define a rule such that:
xe2x80x9cA second data file is logically related to a first data file, if and only if either the first represent an employee and the second a company the employee has worked for in the past, or the first represents a company and the second a current employee of that company.xe2x80x9d
The concept of defining (or redefining) logical relationships constitutes a third independent aspect of the invention, which is a method of mapping logical relationships between a plurality of data files, comprising:
a step of defining a rule which determines whether any one of said data files is logically related to any other one of said data files;
a step of, for a first file, in a display area displaying a first region representing that i-th file and one or more second regions, said second regions respectively representing one or more second files and being spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files logically related to the i-th file, and being spatially related to the i-th region. Preferably, in this third aspect of the invention too, the second regions are according to a first distance scale (e.g. the sizes or spatial relationships are according to the first distance scale), and all said (i+1)-th regions of an i-th region are according to an i-th distance scale smaller than the (ixe2x88x921)-th distance scale (e.g. the sizes or spatial relationships are according to the i-th distance scale).
The user may optionally select the logical relationship from a number of predetermined options.
In any of the aspects of the invention defined above, the first file may be a file which is currently being displayed by a user (e.g. a data file which corresponds to the user""s present (system or net) browser location). Alternatively, it may be one selected by the user, as described further below. In either case, the methods of the invention described above create a map based on a first file and indicating the existence and distance (e.g. measured in clicks) of other files related to the first file.
We will now discuss a number of geometrical features of the map which have significant technical consequences and which are preferred features of a map produced according to all aspects of the invention.
The number of n-th files rises approximately exponentially with n, so for large n, to avoid the display becoming larger than the user""s screen, the distance scale must decrease accordingly. For example, the distance scale may be chosen to decrease such that the total area of the map is xe2x80x9cboundedxe2x80x9d, by which we mean that no matter how great the value of n, the total area of the display never exceeds a predetermined value. This is a preferred feature of maps produced by all methods according to the invention.
As one example of a bounded map, the distance scale may be chosen such that the total area of the one or more (i+1)-th regions for each i-th file is less than (e.g. half) the area of the i-th region representing the i-th file.
In this case, the (i+1)-th regions for each i-th file may be non-overlapping and all within the i-th region which represents that i-th file. However, this is not the only possibility: for example, the (i+1)-th regions for each i-th file may be arranged to cluster around the i-th region which represents that i-th file, or the (i+1)-th regions may each partly overlie the i-th region.
The display generated by the method may thus have an appearance resembling a xe2x80x9cfractalxe2x80x9d form, that is with an increasingly detailed (scalable) structure (the number of i-th regions rising with i) on an increasingly small distance scale (for example, the width of an average i-th region). For high enough n, every file accessible by clicks within the world wide web would be represented by one or more regions in the fractal-like display.
For example, as described above, in the case that the (i+1)-th regions for each i-th file are always within the i-th region which represents that i-th file, the map will be generated entirely within the first region, and the total area occupied by the regions (e.g. the sum of all points which are inside at least one of the regions) is equal to the area of the first region. This is true whatever the value of n, and however many regions there are for each value of i.
This feature, of the total area occupied by the regions of the map being independent of n, is herein called xe2x80x9cintensivenessxe2x80x9d. Any map in which the total area occupied by the regions of the map (i.e. the total area which is inside at least one region) does not depend upon n (at least for n greater than some certain value, in this case n=1), is herein called xe2x80x9cintensivexe2x80x9d.
For each i-th file, the (i+1)-th regions preferably do not overlap one another and their areas are preferably equal to each other, but the (i+1)-th regions for first i-th file may be of a different size to the (i+1)-th regions of a second i-th file. More generally, the i-th distance scales may be different for different i-th regions. For example, if there are 20 files one click away from a first i-th file, and 10 files one click away from a second i-th file, then the area of the 20 (i+1)-th regions for the first i-th file may be smaller than (e.g. half) the area of the 10 (i+1)-th regions of the second i-th file. More generally, the areas of each of the (i+1)-th regions for an i-th file are preferably selected to be less than the area of the i-th region which represents that i-th file by a proportion which depends in a predetermined way on the number of (i+1)-th regions for that i-th file. For example, in the case that the (i+1)-th regions for a given i-th file are within the corresponding i-th region, the (i+1)-th regions may be as large as possible within the constraint of a predetermined size and arrangement rule.
Furthermore, it is possible for the (i+1)-th regions related to a given i-th region to be of identical sizes, or of differing sizes from each other (e.g. to indicate that the number of times that they have been visited) but defined based on the same distance scale. For example, the respective sizes (e.g. diameters) of the (i+1)-th regions of a given i-th file might be defined as the i-th distance scale multiplied by value which is a function of a variable characterizing the respective (i+1)-th file (such as the number of times the corresponding (i+1)-th file has been visited).
The (i+1)-th regions are preferably arranged along a path (e.g. within the corresponding i-th region) which is continuous (e.g the path is independent of the number of (i+1)-th regions to be displayed) and closed, or a path which is discrete (e.g. for each possible number of (i+1)-th regions up to a maximum, there is a predefined arrangement of that number of (i+1)-th regions). For example, in some embodiments, some or all of the regions are circular, and in this case the (i+1)-th regions may be circular regions arranged around the inner periphery of the circular i-th region, touching the outside of the i-th region and with each (i+1)-th region touching or proximate to two neighbouring (i+1)-th regions. This is an example of a closed continuous path.
A property related to, but logically distinct from, the arrangement of the regions (described above), is here referred to as xe2x80x9cangular invariancexe2x80x9d, and is a preferred feature of all maps drawn according to the invention. xe2x80x9cangular invariancexe2x80x9d means that for all i (or at least for i within a certain range) the arrangement of the (i+1)-th region(s) in spatial relationship to the corresponding i+th region is independent of the value of i (neglecting distance scales). This feature means that if the map is redrawn using a data file other than the first file in place of the first file, the result is a second map which is (e.g. substantially) a magnification of the part of the first map corresponding to the first file.
For example, suppose that a first map includes a second region (representing file xe2x80x9cAxe2x80x9d), and that there are a number of files xe2x80x9cBxe2x80x9d logically related to file xe2x80x9cAxe2x80x9d and therefore drawn as third regions in the first map. If the map is re-drawn treating xe2x80x9cfile Axe2x80x9d as the first data file, the spatial arrangement of the new second regions (i.e. the regions representing the files B) is equivalent to the spatial arrangement of the regions representing files B in the first map. Similarly, the fourth regions in the first map representing files logically related to the files B, are transformed into third regions in the second map, but maintain their relative spatial arrangement and/or shape. And so on. In summary, the part of the first map which is the second region representing file A, and all (or most) regions spatially related to that second region, and all (or most) files spatially related to them, are expanded, but not relatively rearranged. That is, although the size of the regions respectively representing the files B is changed, and the distance between those regions is changed accordingly, the angular relationship between them (and preferably also between them and the region representing file A) is invariant.
Angular invariance may include invariance (xe2x80x9cdirectional invariancexe2x80x9d) in relation to a predefined direction in the map (e.g. the horizontal axis of the screen) so that the relative angular locations of the (i+1)-th regions in the second map in relation to the predetermined direction are the same as their angular locations in the first map relative to the predetermined direction (e.g. if one imagines a polygon having as its vertices the centres of the (i+1)-th regions, that polygon is magnified and displaced in the second map but is substantially not deformed, and substantially not rotated relative to the predefined direction).
Angular invariance (especially in the case of directional invariance) has the technical advantage that redrawing of the map starting from a particular descendant redraws that region and its descendants in the same way (e.g. substantially) as they would have been if the part of the original map comprising that region and its descendent been simply magnified (scaled up). This prevents a user of the map being disorientated by the transformation.
This concept constitutes an independent fourth aspect of the present invention, freely combinable with any of the features described above, which is a method of mapping logical relations between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and, one or more second regions, said second regions respectively representing one or more second files logically related to the first file, being spatially arranged in a two-dimensional formation in relation to the first region, and being spatially arranged relative to each other with an angular relationship determined by a rule, and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, being spatially arranged in a two-dimensional formation in relation to the i-th region, and being spatially arranged relative to each other with an angular relationship determined by said rule.
Preferably, the rule is in relation to a predefined direction in the map, the relative angular locations of the (i+1)-th regions in relation to the predetermined direction being substantially independent of i (whereby the map is directionally invariant).
Alternatively, in an expression based on xe2x80x9cdirectional invariancexe2x80x9d, this aspect can be stated as a method of mapping logical relations between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and one or more second regions, said second regions respectively representing one or more second files logically related to the first file and being spatially arranged in relation to the first region, second regions being drawn according to a first distance scale but their relative orientation being independent of the first distance scale; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, and being spatially arranged in relation to the i-th region representing that i-th file, said second regions being e.g. according to an i-th distance scale smaller than the (ixe2x88x921)-th distance scale but their relative orientation being substantially independent of the i-th distance scale.
In either case, the rule may be dependent upon the number of regions to be arranged, but is substantially not dependent upon the distance scales (i.e. the value of i). As in other aspects of the invention, the distance scales are preferably used to define sizes of the regions.
Note that to define the angular relationships of two regions clearly and unambiguously, it is helpful to define an xe2x80x9coriginxe2x80x9d point in each region, and state that the angular relationship of two regions is used to mean the angular relationships of the respective xe2x80x9coriginxe2x80x9d points. The xe2x80x9coriginxe2x80x9d point may be unambiguously defined in any of a number of ways, for example (i) the centre of gravity of the regions, (ii) the centre of gravity of a convex hull around the regions, or (iii) in the case that the regions are of a predefined shape and orientation a pre-defined position on the regions (e.g. bottom left-hand corner). Note that the concept of a two-dimensional arrangement of regions can also be defined as one in which the centres of the regions are not all on a straight line in the map.
Further preferred features of the map (in any of the aspects) are that:
1) At least one (preferably most, more preferably all) region(s) (other that the starting area) (and preferably also its children, and more preferably also its descendants) do not change shape if the map is redrawn with that region as the starting point (xe2x80x9cmorphic invariancexe2x80x9d). This feature makes it very much easier to xe2x80x9czoom intoxe2x80x9d (or out of) the map, without losing orientation. It is especially advantageous in combination with the angular and directional invariances.
2) The siblings (and in addition in order of preference the parent, ancestors, children and/or descendants) of the region representing a given file do not change shape if the map is redrawn omitting that region map is redrawn (xe2x80x9cstabilityxe2x80x9d). This is useful, for example, in the case that while a map is in use a new data file is added or subtracted from the network or directory, and also in the case of certain of the maps described below in which there is the option of re-drawing a map without a certain file being represented.
3) The children ((i+1)-th files) of at least one (preferably most or every) i-th file are laid out along a continuous closed path (e.g. a closed loop around the periphery of the i-th region) or sequentially at a finite number of predetermined ordered positions (e.g. in positions corresponding to the keys one to nine on a standard 3xc3x973 numeric keyboard). This is a highly preferred feature of maps according to the invention.
4) The area of the map representing a given i-th region (excluding the total areas representing all its children and their descendants) is at least half as large as, preferably at least as large as (for example at least twice as large as) the area representing any one of its children and that child""s descendants (xe2x80x9cperspectivexe2x80x9d). This feature makes it easy to indicate (e.g. by clicking) any one of the i-th regions at any level, and it in contrast to the tree map in which the region representing a given directory is usually fully tiled by its descendants.
These four desiderata allow the invention to be expressed in alternative manners (as below), to describe methods of drawing the map such that the desired behaviour above is obtained when the same method is used to re-draw the map (e.g. starting from a different starting point, or with one or more data files added or removed from the set to be mapped.)
Thus, an alternative expression of the invention is a method of mapping logical relations between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and one or more second regions, said second regions respectively representing one or more second files logically related to the first file and being spatially related to the first region, the sizes of said second regions being according to a first distance scale, and the shape of said second regions being determined by a rule; and
for a predetermined value of n, (nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, and being spatially related to the i-th region representing that i-th file, the sizes of said (i+1)-th regions being according to an i-th distance scale smaller than the (ixe2x88x921)-th distance scale, and the shapes of said (i+1)-th regions being determined by said rule, said rule being independent of i and/or the number of said (i+1)-th regions.
The first of these possibilities (independence of i) corresponds to morphic invariance. The second possibility (independence of the number of (i+1)-th regions) corresponds to stability. Preferably, the shapes are (substantially) independent of both i and the number of (i+1)-th regions.
Thus, an alternative expression of the invention is a method of mapping logical relations between a plurality of data files comprising:
a step of, for a first file, in a display area displaying a first region and, for M an integer greater than one and q an integer in the range 1, . . . M, q second regions, said second regions respectively representing one or more second files logically related to the first file, being arranged in relation to the first region, having a relative angular relationship according to the first q positions of a predefined sequence of M predetermined positions.
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, for qi an integer in the range 1, . . . , M displaying qi (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, being arranged in relation to the i-rh region, and having a relative angular relationship according to the first qi positions of said sequence of predetermined positions.
This feature reduces the risk of a user being disorientated after a re-drawing of the map, or when a file is added or removed from the map. It is particularly useful in the case that the positions correspond to an arrangement of keys (or other indicator devices) used to indicate on of the regions (e.g. part of the device which produces a display according to the method).
For example, it is convenient in a device (such as a mobile telephone) having a standard 3xc3x973 numeric keypad, that there may be M=8 predefined positions, corresponding to the 9 points of a numeric keypad (omitting 5), and the sequence of positions is the sequence 1, 2, 3, 6, 9, 8, 7, 4 (that is a clockwise path along the outside of the keypad grid).
Although, as explained above, in any aspect of the invention it is possible for all the (i+1)-th regions to be according to the same (i-th) distance scale even if they are descendants of different i-th files (e.g. to have exactly or approximately the same diameter), this is not a necessary feature of any aspect of the invention. Rather, (i+1)-th regions representing files logically related to different i-th files may have different (or even unrelated) sizes. That is, the i-th distance scale may be different for different respective i-th files. However, in this case too the area of the regions preferably has the boundedness property, and more preferably the intensiveness property, discussed above.
The user may have the option of redefining any of the rules determining the shape of the regions and for their size and/or their arrangement within the display. For example, he may have the option of changing between circular regions and regions of any other shape, such as squares.
It is also possible that the rules of shape and/or arrangement of the i-th regions depend on i, e.g. to be different for i=n, or to be dependent upon some other factor. For example, if the regions are circular for all i up to nxe2x88x921, the n-th regions may be chosen to be complementary sectors of the corresponding (nxe2x88x921)-th regions. Furthermore, the (i+1)-th regions for different i-th files may be respectively of different shapes.
Optionally, the methods may not display regions for all the (i+1)-th files logically related to the i-th file, but may neglect certain of those files, for example according to one or more predefined or re-definable criteria.
For example, it is possible that a hyperlink from a first file leads to a second file, and that a hyperlink from that second file leads back to the first file, so that first file is in a sense also a third file. In this case, the methods may not display the first file as a third region. As a second example, often a given third file can be reached from the first file in two clicks via two different second files. The methods may in this case display only one third region, in or near only one of the two possible second regions. In other words, the method may include steps of determining if regions corresponding to i-th files have already (for equal or smaller i) been displayed, and modifying the display accordingly.
A further possibility is for there to be a predetermined (e.g. selectable by the user) maximum number of (i+1)-th regions displayed for each i-th region. For example, if there are more than a predetermined number M of (i+1)-th data files logically related to a given i-th file, the method may only display M (i+1)-th regions, respectively representing only M of those (i+1)-th files. For example, if the i-th region was a square, the method might only display eight square (i+1) regions, arranged along a square path along the internal periphery of the i-th region.
The map may include one or more (or even all) region drawn which do not represent a single respective file in the original data structure, but rather represent collections (or even collections of collections) of (i+1)-th files. For example, if there were 15 (i+1)-th files to be mapped in the example given above then seven (i+1)-th regions may represent seven of the (i+1)-th files and an eighth region may represent the remaining eight (i+1)-th files, and have drawn within it eight regions respectively representing the eight remaining (i+1)-th files. Alternatively, as a second example, if there were say 64 (i+1)-th files to be represented, the eight (i+1)-th regions may alternatively each represent eight of those (i+1)-files (i.e. the first (i+1)-th region the first eight (i+1)-th files, the second (i+1)-th region the second eight (i+1)-th files, and so on).
A user can use a display produced according to the invention to map the part of the web near his current location (for example for navigating within the web). Suppose, for example, that the user has just changed his location in his (system or net) browser to read a given file. He may then have an option, for example by performing a certain mouse click, of causing his terminal to perform the method of the invention described above, using the file the user is reading as the first file, to generate a map of the files up to n clicks away. This would immediately tell him, for example, about the number of files a given number of clicks from his present location, and could allow him to open quickly any one of them into his browser (e.g. by clicking his mouse on the relevant region).
Indeed, a method according to the first, second, third or fourth aspect of the invention is preferably performed automatically whenever the user""s location changes.
If the user wants more detail, he may have the option of selecting a certain file, for example by moving his mouse to a region of the display which represents that file, and causing the terminal to perform the method of the invention described above again, thus generating a display using his selected file as the first file. The user""s terminal may be arranged to display also a path (or paths) (and/or a distance) between the user""s location and the selected first file. For example, it may display a path (and/or distance) which is as short as possible.
The user may have the option of labelling a given file, for example to allow him to easily return to it later. This operation is analogous to inserting a bookmark into a conventional book. In this case, the user may be able to label his actual location within the web, the current first file (i.e. the first file on which the map of the web currently being displayed is based), or a file selected from the display by selecting a respective region. The way in which a region is displayed may indicate whether the file it represents has been labelled in this way, for example a labelled region may flash.
The methods of the invention expressed above may further include displaying characteristics of the files represented by the some or all of the regions, so as to facilitate navigation of the web or other file structure.
For example, the regions may be displayed in a colour which indicates a characteristic of the corresponding file, for example the site of a given file, or the server which provides it.
Furthermore, the user may be able to call up or have displayed automatically further information on a file using the corresponding region, for example by moving his mouse to that region on the display and perhaps additionally performing a mouse clicking operation. This could cause information to be displayed, such as the title of the file. The user might also be able to call up further information, for example by a different or more complex mouse clicking operation. This more detailed information may be displayed in a part of the display outside the first region, for example as a separate box displayed to the user in a different part of the screen. The more detailed information might for example include any combination of the title of the file, its address, a precis of it, or details of the specification of the file (e.g. technical information including the data format of, say, images referenced in the file).
The information which is displayed by the method of the invention, such as the existence of the files which can be reached by any number of clicks, together with any characteristics of those files, may be derived at the time when the methods according to the invention described above is performed (i.e. as additional steps in that method). Alternatively, it may be pre-generated, for example during times in which the apparatus is idle, so that it is immediately available, when the mapping method is performed.
The method may include a step of storing the information, so that it can be recalled if a user returns to this section of the web. The storage could for example be in a location accessible only to one user (e.g. on a user""s device), or in a location accessible by several users. The data stored may be collected and maintained on the basis of the movements of one or more than one of the users, or one some other basis, such as maintaining an up-to-date map of the pages in a particular site, or those stored one or more than one server. The collection may be performed on request or automatically by one or more (e.g. spatially separated) devices. For instance each collection device might be located on the server whose information it collects. In this and similar cases there would normally be a step of collating the information collected by distinct devices.
Such stored information could be automatically removed, for example after a predetermined period, if the user has not returned (or if no user has returned) to that area of the hyperspace. Alternatively, if a user accesses a particular area of the web frequently, the information concerning that section of the web could be stored such that it will not be discarded. If the web subsequently changes in that location, for example due to the addition of a new file or a new anchor, the stored information could be updated, or regenerated, accordingly.
Although, as explained above, the feature of the gradually decreasing distance scales with increasing i, and the feature of boundedness of the map (and optionally also the intensiveness of the map), are particularly suitable for the display of a hyperspace, they are not essential to the invention. The invention may alternatively be expressed in terms of mapping a set of data files defined according to a user""s current location, and facilitating movement between the files.
Accordingly, a fifth aspect of the invention is a method of moving between data files comprising the steps of:
generating a display of the interconnections between the data files by:
a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region, the sizes of said second regions being according to a first distance scale; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file, the sizes of said (i+1)-th regions being according to an i-th distance scale smaller that the (ixe2x88x921)-th distance scale;
selecting a file on the basis of the display; and
moving to the selected file. Moving to that file may be by issuing an instruction, for example by clicking a mouse on the region of the display corresponding to the selected file.
The term xe2x80x9cmoving to a data filexe2x80x9d is used in this document to imply that a user can obtain a least some information concerning the file. For example, it includes the user registering an interest in a particular file, in response to which the method generates at least some information concerning the file, such as its title or a precis. The term xe2x80x9cmovingxe2x80x9d further includes within it xe2x80x9copeningxe2x80x9d a file, that is to say obtaining full information from a file (e.g. in conjunction with another program). Preferably, in all aspects of the invention when the user has the option of obtaining information about a given file, he or she also has the option of opening it.
In the case of a file which stores data for interacting with an application (e.g. a graphics file may contain data in a format such that the graphics file can be opened by a graphics program; a Word file can be opened by the word processor Word; etc.), xe2x80x9copeningxe2x80x9d includes transferring the data in that data file to the compatible application, so that the user (or another user) can access the data in the data file via the application.
Thus, the user may be able to move to any data file. For example, in the case that the data files are a directory structure, the user may be able to move to any directory of the directory structure and to any leaf node. The user preferably has the option of opening that file.
In addition to the map produced by any aspect of the invention, the display area may include a further portion having a plurality of areas each corresponding to a respective one of the regions of the map (for example, an area for each of the (i+1)-th regions which logically related to a given i-th region). Preferably these areas have a relative geometrical relationship which corresponds to the relative geometrical relationship of the areas they represent, but they may not (e.g. these areas may be arranged in a column). The areas may be marked in a way which indicates the significance of the corresponding region (e.g. with appropriate icons). In the case of the fifth aspect of the invention, the selection of a certain data file may be by a motion in relation to a respective area (e.g. clicking on an area may open the data file represented by the region corresponding to the area).
A sixth aspect of the invention is a method of displaying interconnections between a plurality of data files comprising, upon a user""s location changing to correspond to a first file:
a step of, for the first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th files.
Thus, the display may be xe2x80x9cautomaticallyxe2x80x9d updated as the user moves through the hyperspace.
Preferably, in methods according to the sixth aspect of the invention, the regions are generated according to a distance scales which decrease for increasing i, as described above in relation to the first and second aspects of the invention (e.g. with decreasing sizes of the regions and/or with the map being drawn up to a predetermined n). Preferably too, in methods according to the fifth or sixth aspects of the invention, the regions have the boundedness property (and optionally the intensiveness property) described above.
All the methods described above may include the further step of generating a second map, to be displayed at the same time as the maps described above. For example, if the user is displaying a map generated as described above using a certain file as the first file, the method may include generating a second map showing other files related to that certain file. In some embodiments, for example, if the first file was reached by selecting a file from a map generated as described above, the second map may represent (e.g. as respective regions) the files of that map which the user did not select.
The second map increases the dimensionality of the entire display. For example, the user can see along directions of the hyperspace which he did not select, and/or xe2x80x9cbackwardsxe2x80x9d to files to which the first file is logically related.
Although the above aspects of the invention, refer to a xe2x80x9cpluralityxe2x80x9d of files, methods according to any of the above aspects of the invention may alternatively, or additionally, map interconnections between a plurality of portions of one or more (e.g. large) files. In this case the logical connections are links between the portions of the file. For example, if a single large file contains a diary representing a plurality of days, the method may be used to map logical relationships (cross-references) between the days. In other words, although in some forms of the invention the data files are separate (e.g. electronic files provided on different respective servers and/or files related only by the logical interconnections), one or more of the plurality of files referred to in the above aspects of the invention may alternatively be respective portion(s) of a larger data file (or files). For example, it should be understood that in the sixth aspect of the invention, the term xe2x80x9cmoving between data filesxe2x80x9d should be understood to include not only moving between data files which are separate (e.g. which are provided on different servers) but also data files which are themselves part of a single larger data file.
Accordingly, in a seventh aspect the invention provides a method of mapping interconnections between a plurality of segments of one or more data files, comprising:
a step of, for a first segment, in a display area displaying a first region and one or more second regions, which respectively represent one or more second segments logically related to the first segment, and which are spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . , n, of for the or each i-th portion of the file displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th segments which are logically related to the i-th segment, and which are spatially related to the i-th region representing that i-th segment.
The invention in this aspect is combinable with any of the other aspects described above, so that for example any one of more of the following may apply:
1) The i-th regions are formed on an i-th distance scale, greater than an (i+1)-th distance scale on which the (i+1)-regions are formed. This distance scale may characterise the size of the regions.
2) The map is such that the total area of the regions (the sum of all points which are contained in at least one of the regions) is bounded (i.e. less than a predetermined value) irrespective of n (and optionally intensive, that is independent of n).
3) The method is used for moving to a portion of the file, by the user indicating (e.g. with a mouse) the corresponding region of the map.
The segments may, for example, represent portions of a structural item of computer language (e.g. a program) in any programming (or content presentation) language, stored across one or more data files, and the logical relationships may be the conceptual structure of the item (e.g. which portion of a program xe2x80x9ccallsxe2x80x9d which other).
Although it is preferred within the terms of the invention that the regions are drawn on a user""s screen, an alternative is for the regions merely to be xe2x80x9csensitivexe2x80x9d areas on a screen which are not necessarily drawn. A user can then cause an effect merely by indicating a point on the screen.
Thus, in an eighth aspect, the invention provides a method of moving to a data file, said data file being one of a plurality of data files related by logical relations, the method comprising:
a step of, for a first file, in a display area defining a first region and one or more second regions, said second regions respectively representing one or more second files logically related to the first file and being spatially related to the first region, the sizes of said second regions being according to a first distance scale;
for a predetermined value of n, (nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, defining one or more (i+1)-th regions, said (i+1)-th regions respectively representing one or more (i+1)-th files which are logically related to the i-th file, and being spatially related to the i-th region representing that i-th file, the sizes of said (i+1)-th regions being according to an i-th distance scale smaller than the (ixe2x88x921)-th distance scale;
indicating (e.g. by a mouse) a position on said display area within one of said defined regions; and
moving to the file represented by the region containing said position.
All features of the geometrical properties of the regions described above in relation to the other aspects of the invention apply to these aspects also. Preferably, the user is displayed information informing him which region his pointer (mouse) is pointing to at any moment (and more preferably he is informed of the identity of that region""s parent and/or siblings and/or children, e.g. as described below), so that he can indicate quickly and easily when the pointer is in a region corresponding to a file in which he or she is interested.
The next three aspects of the invention share the general principle of generating further information and/or regions associated with a selected subset of the files, e.g. the children of a certain data file.
The ninth aspect of the invention proposes, in general terms, that a representation (a xe2x80x9ccontrol padxe2x80x9d) is generated by a user to indicate the existence of a set of siblings, and the user uses this representation to move to a file. Optionally, the representation may include information on the siblings.
Specifically, a ninth aspect of the invention is a method of moving to a data file comprising the steps of:
generating a display of the interconnections between a plurality of data files by:
a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file;
for a selected (j)-th data file (1 less than jxe2x89xa6n) represented by one of said regions generating for each of said one or more (j+1)-th data files which are logically related to (j)-th file a respective additional region; and
upon a user indicating a said respective additional region, moving to the corresponding data file.
Preferably, each additional region is representing showing data indicating the significance of the respective (j+1)-th file.
In a tenth aspect the invention proposes in general terms using an indicator device moving on a map as described above to trigger the display of information about a selected subset of files (i.e. without the map itself being redrawn). This concept further permits a novel method of operating an indicator device to move to a file based on a map according to the invention.
Specifically, in the tenth aspect the invention proposes a method of moving to a data file comprising the steps of:
generating a display of the interconnections between a plurality of data files by:
a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . n, of, for the or each i-th file, displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; and
upon said user controlling an indicator device so that a position within the map determined by the physical arrangement of said indicator device is within a said region representing a j-th data file generating for each of one or more data files which have a predetermined logical connection to the (j)-th file a respective additional region including data indicating the significance of said respective connected file.
Preferably, the predetermined logical connection is that the connected data files are children (i.e. (j+1)-th files) of the j-th file. Alternatively, they may be all the files to which the j-th file is logically related (e.g. all files from which the j-th file can be reached by one click).
Thus, the user may indicate a subset of the files (e.g. by a mouse pointer movement), and trigger the display of information about those files without the map being redrawn. The additional regions may only be displayed for a limited period of time (e.g. while the user presses a certain key).
The tenth aspect of the invention further permits a method of opening files, which is a method according to the ninth aspect of the invention further comprising an additional step of, upon the user supplying a control signal when the position determined by the physical arrangement of said indicator is a position corresponding to one of said (j+1)-th files, moving to said (j+1)-th file.
This may be termed a xe2x80x9csliding clickxe2x80x9d. The user first indicates a position which causes significance data to be displayed about a subset of files (without the map being redrawn), and then on the basis of this data chooses (and indicates with the pointer) one of that subset of files.
In an eleventh aspect, the invention proposes that a map according to the invention is drawn up, and that the user is able to select one of the files (e.g. an (n+1)-th file) and generate a map of its descendants, including descendants which were not previously represented (i.e. reveal a xe2x80x9chidden layerxe2x80x9d of descendants).
Specifically, in the eleventh aspect the invention proposes a method of displaying interconnections between a plurality of data files comprising the steps of:
generating a display of the interconnections between the data files by:
a step of, for a first file, in a display area displaying a first region and one or more second regions, which respectively represent one or more second files logically related to the first file, and which are spatially related to the first region; and
(nxe2x88x921) further steps, i=2, . . . , n, of, for the or each i-th file, displaying one or more (i+1)-th regions, which respectively represent one or more (i+1)-th files which are logically related to the i-th file, and which are spatially related to the i-th region representing that i-th file; and
upon an user indicating a said j-th data file, generating for each of one or more (j+1)-th data files which are logically related to said j-th file and which had were not already represented, a respective additional region representing the (j+1)-th file.
The value of j may for example be equal to n+1, so that the revealed hidden layer is one layer beyond the deepest layer which had previously been represented on the map. Alternatively, the (j+1)-th files may be which had not previously been displayed according to any of the criteria discussed above (e.g. because the number of (j+1)-th files was above a predetermined value). The additional region(s) may be drawn as a continuation of the map (e.g. with the decreasing distance scales continued for one more level) (this possibility is especially convenient if j=n+1) , or alternatively drawn differently, e.g. like labels as described above and below carrying information on the significance of the (j+1)-th files.
A twelth aspect of the invention is a device including display means such as a screen, and arranged to perform a method according to any of the first, second, third, fourth, fifth, sixth or seventh, eighth, ninth, tenth or eleventh aspects of the invention.
The device may be an item of consumer electronics, such as a portable device of any size (xe2x80x9cmicroxe2x80x9d size such as a mobile telephone, xe2x80x9cminixe2x80x9d size such as a personal digital assistant (xe2x80x9cPDAxe2x80x9d), or xe2x80x9cmacroxe2x80x9d size, such as a laptop), a fixed installation, such as a PC, a digital TV, a kiosk, a public address device or a home network. It may be alternatively be fitted as a component of a consumer data network, e.g. in-flight entertainment on a plane, train, car, etc., or in relation to the world wide web as server side software, client side software or a custom site development. Furthermore, the device may be part of, give access to or facilitate the management of any other data collection or network which may for example be based on the functioning of a physical hardware network (satellite, telecom, cable or broadcast networks, traffic or data flow control systems, intranets or other private or proprietary networks such as Reuters, and data libraries such as Corbis) or may be a means of access to content (e.g. www sites, CD-ROMS, reference aids), or a component of task specific software (e.g. networked software, e-commerce software, menu or tool bars, data analysis tools) or hardware (e.g. for chip/circuit board layout).
In one embodiment, the device is a mobile telephone. The latest generation of mobile telephones includes both a memory (organised in a directory), (radio) access to a remote station where further information is stored, and the facility for accessing email and other internet systems. However, the usefulness of any of these facilities is severely limited by the size of the display device of a mobile telephone, which itself is limited by engineering constraints and present technology. By providing a mobile telephone with a display generated according to any of the methods of the invention defined above, the technical usefulness of the mobile telephone as an apparatus for transferring data is significantly enhanced.
Normally, the device will include a mechanism for the user to input data (instructions), for example a touch sensitive screen. Alternatively or additionally, it may include a mechanical data input device, such as a joystick or a plurality of keys. In this case, the arrangement of some or all of the regions, e.g. the additional regions of the control pad, preferably corresponds to the layout of the mechanical data input device.
For example, a mobile telephone may have buttons arranged in a keypad formation, and in this case the arrangement of the regions may correspond to the pattern of the keys.
For example, if there are nine keys in the keypad in a 3xc3x973 array (in addition to any further keys which may be present), for each i-th region up to nine (i+1)-th regions may be arranged in a pattern corresponding to the positions of the keys (that is in a square 3xc3x973 grid), or eight (i+1)-th regions might be laid along a (e.g. square) path along the periphery of the i-th region, e.g. corresponding to the position of eight of the nine keys. The usefulness of this arrangement is not limited to a mobile phone situation: the eight-fold arrangement also for instance makes it very easy for a user to select one of the regions (files) using a mechanical data input device such as an (octagonal) joystick or button mouse which is not (or not necessarily) part of a mobile telephone. The number of keys may thus be related to the value M of the maximum number of (i+1)-th regions displayed. If there are more than M (i+1)-th files logically related to the i-th file, the extra regions may be displayed separately (in a different area), or omitted (optionally symbol or symbols may be generated to indicate this and even give access to the omitted files).
A thirteenth aspect of the invention is a computer program product which can be read by a data processing device to cause the data processing device to perform a method according to any of the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh or twelth aspects of the invention. The computer program product may be a computer program for implementing one of the methods of the invention stored on a recording medium, such as an electronically (or optically) readable recording medium.
By xe2x80x9clow resolution screenxe2x80x9d may be meant a screen with a low resolution in absolute terms (e.g. with no more than 500xc3x97500 pixels, no more than 200xc3x97200 pixels or even no more than 100xc3x97100 pixels) or one with a low resolution in relation to the number of files to be mapped (e.g. a total of no more than 10, 25 or 100 pixels per file).
In any of the aspects above, the method may be able to reject (i.e. not include in the map) files according to their type. For example, especially in the context of the web, the map may consistently ignore audio and/or picture files, so that a large click distance can be displayed without over-complicating the map, or may create an additional region to representing files (or containing files) of a certain (e.g. predefined) type.